package com.cdream.basic.spring.factorybean;

import com.cdream.basic.spring.factorybean.model.Car;
import org.springframework.beans.factory.FactoryBean;

/**
 * 2021-08-17
 * 我当前的水平理解：
 * FactoryBean可以需要在创建Bean的复杂过程中使用，
 * 同时可以与生命周期函数合作使用
 * 常见于各种出名的开源包创建使用。可以根据需要在项目中声明为bean,比基于注解的Bean更加使用，不需要可以不进行声明，可以加如相关逻辑
 *
 * @author cdream
 * @date 2021/8/17
 */
// @Component
public class CarFactoryBean implements FactoryBean<Car> {
    @Override
    public Car getObject() throws Exception {
        Car car = new Car();
        car.setAge(12);
        car.setName("dog");
        return car;
    }

    @Override
    public Class<?> getObjectType() {
        return Car.class;
    }

}
